body{
	margin: 0;
	position: relative;
	font-family: "GOST_AU";
}
.header{
	height: 5vw;
	padding-top: 3vw;
	margin-bottom: 1vw;
	background: rgb(229,231,233);
background: linear-gradient(180deg, rgba(229,231,233,1) 72%, rgba(0,212,255,0) 100%);
}

	.menu{
		position: absolute;
		top: 3vw;
		padding: 0 2%;
		height: 3vw;
		width: 96%;
		z-index: 2;
		vertical-align: bottom;
		font-family: "GOST_AU";
	}
		.menu .logo{
			height: 5vw;
		}
			.menu .logo img{
				height: 5vw;
			}
		.menu .item{
			text-decoration: none;
			margin: 0 1vw;
			font-size: 1.3vw;
			font-family: "GOST_AU";
			color: black;
			cursor: pointer;
			/* text-shadow: 0 0 1px black, 0 0 2px black, 0 0 3px black; */
		}
			.menu .item:hover,
			.menu .active{
				border-bottom: 1px solid black;
			}
			.menu #freelance_link{
				color: red;
			}		
	.header h1{
		position: absolute;
		top: 2vw;
		right: 5%;
		margin: 0;
		font-family: "GOST_AU";
		font-size: 4vw;
		color: black;
		/* text-shadow: 0 0 1px black, 0 0 2px black, 0 0 3px black; */
	}
	    .header h1 span{
	        color: red;
	    }
.hotengine-shop-select-language-box { display:inline-block; width:6vw; height: 2vw; overflow:hidden; border:1px solid #D3D3D3; line-height:2vw; position:absolute; top: -0.3vw; z-index:1000; }
  .hotengine-shop-select-language { display:inline-block; width:6vw; text-align:center;  }
  .hotengine-shop-select-language-values { display:inline-block; width:6vw; vertical-align: top; position:absolute;  left:2px; }
  .hotengine-shop-select-language-box:hover{ overflow:visible;}
  .hotengine-shop-select-language-values:hover .hotengine-shop-select-language-val{ position:relative; }
  .hotengine-shop-select-language-val { 
	  width:5vw; 
	  display:block; 
	  margin:0px !important; 
	  padding: 0vw 0.5vw; 
	  vertical-align:top; 
	  font-size: 0.9vw !important;
	  color: black;
	  text-decoration: none;
	  cursor:pointer; 
	  margin-left:-3px; 
	  text-align:center; 
	  }	    
#freelance{
	position: absolute;
	top: 5.5vw;
	right: 30%;
	width: 40%;
	height: 0;
	z-index: 9;
	transition-duration: 1s;
	overflow: hidden;	
	font-family: "GOST_AU";
	/*border-right: 1px solid red;
	border-left: 1px solid red;	*/
}
	/*.freelance_active{
		border-bottom: 1px solid red;		
	}*/
	#freelance_content{
		padding: 1vw;
		background: rgb(229,231,233);	
	}
	#freelance .closebtn {
		  position: absolute;
		  top: 1vw;
		  right: 1vw;
		  font-size: 3vw;
		  height: 1vw;
		  line-height: 1vw;
	    text-decoration: none;
		color: red;
		}
	#freelance h1{
		font-size: 1.3vw;
		margin: 0vw;
	}
	#freelance #freelance_content div{
		font-size: 1.3vw;
	}
		#freelance #freelance_content div p{
			margin: 0.5vw 0;;
		}
	#freelance	hr{
		border-color: red;
	}
.description{
	width: 90%;
	margin: auto;
	overflow: visible;
	position: relative;
	z-index: 2;
	font-family: "GOST_AU";
	font-size: 1.3vw;
}
	.description .present_video{
		width:auto;
		overflow: auto;
		display: flex;
		align-items: center; 
		
	}		
		.description .present_video iframe{
			width: 50vw;
			height: 30vw;
			box-shadow: 0px 0px 5px black, 0px 0px 10px black;
			float: left;
		}	
		.description .present_video .video_desc{
			float: left;
			margin-left: 7vw;
			position: relative;
		}
			.description .present_video .video_desc h2{
				margin: 0;
				font-size: 5vw;			
			}
			.description .present_video .video_desc p{
				margin: 0;
				font-size: 3vw;
			}			
			.description .present_video .video_desc::before{
				content:"";
				display: block;
				width: 3vw;
				height: 2vw;
				background-image: url(img/arrow_1.png);
				background-size: cover;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				left: -5vw;
			}
			.description span{
				color: red;
			}			
	.description .partners{
		width: 100%;
		/* height: 15vw; */
				display: flex;
		align-items: center; 
		overflow: auto;
		margin: 3vw 0;
	}
		.description .partners h2{
			display: block;
			float: left;
			width: 30%;
			position: relative;
			font-size: 5vw;
			margin-right: 3%;
		}
			.description .partners h2::after{
				content:"";
				display: block;
				width: 3vw;
				height: 2vw;
				background-image: url(img/arrow.png);
				background-size: cover;
				position: absolute;
				top: 50%;
				transform: translateY(-30%);
				right: 0;				
			}
		.description .partners .partners_list{
			width: 70%;
		}
			.description .partners .partners_list div {
				width: 20%;
				height: 15vw;
				float: left;
				padding: 2vw;
				box-sizing: border-box;
			}
				.description .partners .partners_list div img{
					width: 100%;
				}
				.description .partners .partners_list div p{
					text-align: center;
					font-size: 1vw;
				}
	.description .present_text p,
	.description .present_text ul li{
		text-shadow: 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 5px white;
	}
	.description .comment{
		width: 100%;
		/* height: 15vw; 
		display: flex;
		align-items: center; */
		overflow: auto;
		margin: 3vw 0;
		position: relative;
	}
		.description .comment h2{
			display: block;
			/*float: right;
			width: 15%;
			position: relative;*/
			    position: absolute;
			top: 17%;
			right: 0;
			font-size: 5vw;
			padding-left: 5%;
		}
			/*.description .comment h2::after{
				content:"";
				display: block;
				width: 3vw;
				height: 2vw;
				background-image: url(img/arrow_1.png);
				background-size: cover;
				position: absolute;
				top: 40%;
				left: 0;				
			}*/
		.description .comment .comment_list{
			width: 77%;
			padding: 0 3vw;
			float: left;
		}
			.description .comment .comment_list .owl-item{
				
			}
			.description .comment .comment_list .owl-item div {
				height: 27vw;
				margin: 1vw;
				padding: 1vw;
				font-size: 1.3vw;
				color: white;
				box-sizing: border-box;
				background-color: red; 
				border-radius: 1vw;
			}
				.description .comment .comment_list div h3{
					margin: 0;
				}
	     .description .comment  .comment_list .owl-nav {
            position: absolute;
            top: 42%;
            left: 0;
            right: 0;
			opacity: 1;
			
		}
            .description .comment .comment_list .owl-prev, .owl-next {
                position: absolute;
                width: 3vw;
                color: inherit;
                background: none;
                border: none;
                z-index: 100;

			}
			.description .comment .comment_list  .owl-nav button{
				outline: none;
			}
            .description .comment .comment_list  .owl-nav button img{
				width: 100%;
			}
			.description .comment .owl-theme .owl-nav [class*=owl-]:hover{
				background-color: transparent !important;
			}
            .description .comment .comment_list .owl-prev {
                left: 0vw;
            }
            .description .comment .comment_list  .owl-next {
                right: 0vw;            
			}
/*----Project----*/	
.objects_content{
	width: 90%;
	/*height: 40vw;*/
	height: 31vw;
	margin: auto;
	overflow: visible;
	/* height: 25vw; */
	margin-top: 2vw;
	position: relative;
}	
	.objects_content .objects_name{
		width: 21%;
		padding-top: 3.5vw;
		height: auto;
		/*display: flex;
		align-items: center; */
	}
		.objects_content .objects_name p{
			font-size: 2.5vw;
			font-family: "GOST_AU";
			display: block;
			padding: 0.5vw;
			margin: 0 1vw;
			position: relative;
			z-index: 2;
			cursor: pointer;
		}
			.objects_content .objects_name p span{
				position: relative;
				z-index: 2;
				color: black;
				transition-duration: 1s;
			}
			.objects_content .objects_name p::before{
				content:"";
				display: block;
				width: 100%;
				height: 3px;
				position: absolute;
				top: 0;
				left: 0;
				background-color: red;
				transition-duration: 1s;
			}
			.objects_content .objects_name p::after{
				content:"";
				display: block;
				width: 100%;
				height: 3px;
				position: absolute;
				bottom: 0;
				left: 0;
				background-color: red;
				transition-duration: 1s;
			}
			.objects_content .objects_name p:hover span,
			.objects_content .active span{
				color: white !important;

			}		
			.objects_content .objects_name p:hover::before,
			.objects_content .objects_name p:hover::after,
			.objects_content .active::before,
			.objects_content .active::after{
				height: 100% !important;
			}
		.objects_content .objects_name hr{
			/*height: 0.2vw;
			border-top: 3px solid red;
			border-bottom: 3px solid rgb(44,51,86);
			border-left: 0px solid black;
			border-right: 0px solid black;*/
			border-color: rgb(44,51,86);
			border-width: 2px;
			}
	.objects_content .objects_block{
		position: absolute;
		top: 0;
		right: 0;
		width: 65vw;
		height: 36vw;
	}
	.object_wrap{
		overflow: hidden;
		/* background-color: blue; */
		position: absolute;
		bottom: 0;
		 left: 0;
		 transition-duration: 1s;
		 width: 65vw;
		height: 0;	
		opacity: 0;
	 
	}
	.objects_content .objects_block .objects_list{
		width: 54vw;
		height: 36vw;
		/* height: 100%; */
		 padding: 0 8%; 

	}
		.active_block{
			height: 36vw !important;
			position: absolute;
			top: 0;
			opacity: 1 !important;
		}
		.active_block .owl-nav{
			opacity: 1!important;
			transition-delay: .8s;
		}
		.objects_content .objects_list .owl-item{
			height: 35vw;
			 /* background-color: green;  */
		}
		.objects_content .objects_list .owl-item a{
			display: block;
			position: relative;
			background-size: cover;
			background-position: center;			
			width: 45%;
			height: 15vw;
			float: left;
			margin: 2% 2.5%;
			box-sizing: border-box;
		}
			.objects_content .objects_list .owl-item  a .project_info{
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				background-color: rgba(0,0,0,0.5);
				display: block;
				opacity: 1;
			}		
			.objects_content .objects_list .owl-item a .project_info .text{
				position: absolute;
				bottom: 2vw;
				left: 1vw;
				color: white;
				font-family: "GOST_AU";
				width: 92%;
				height: auto;				
			}
				.objects_content .objects_list .owl-item a .project_info .text h1{
					font-weight: normal;
					margin: 0;
					color: rgb(215, 219, 221);
					font-size: 1.5vw;
				}
				.objects_content .objects_list .owl-item a .project_info .text p{
					margin: 0;
					font-size: 2vw;
				}						
			.objects_content .objects_list .owl-item a:hover .project_info{
				transition-duration: 1s;
				opacity: 0;
			}
	        .objects_content .objects_list  .owl-nav {
            position: absolute;
            top: 39%;
            left: 0;
            right: 0;
			opacity: 0;
			
		}
            .objects_content .objects_list  .owl-prev, .owl-next {
                position: absolute;
                width: 3vw;
                color: inherit;
                background: none;
                border: none;
                z-index: 100;

			}
			.objects_content .objects_list  .owl-nav button{
				outline: none;
			}
            .objects_content .objects_list  .owl-nav button img{
				width: 100%;
			}
			.owl-theme .owl-nav [class*=owl-]:hover{
				background-color: transparent !important;
			}
            .objects_content .objects_list  .owl-prev {
                left: 1vw;
            }
            .objects_content .objects_list  .owl-next {
                right: 1vw;            
			}
			.owl-theme .owl-dots .owl-dot span{
				background: rgb(44,51,86) !important;
			}
			.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span{
				background: red !important;
			}
	.project_map{
		width: 100%;
	}				
.objest_desc{
	width: 60%;
	font-family: "GOST_AU";
}
	.objest_desc h1{
		text-align: center;
		font-size: 2vw;
	}
	.objest_desc img{
		width: 100%;
	}
	.objest_desc p,
	.objest_desc ul li{
		font-size: 1.1vw;
	}
	.objest_desc h2{
		margin-bottom: 0px;
		margin-top: 1vw;
		font-size: 1.3vw;
	}
	.objest_desc iframe{
		width: 100%;
		height: 26vw;
	}	
	
/*----SRO----*/
.sro_content{
	width: 80%;
	margin: 6vw auto;
	display: flex;
	/* justify-content: center; */
	align-items: center; 
	
}
	.sro_content a{
		display: block;
		width: 30%;
		float: left;
	}
		.sro_content a img{
			width: 100%;
		}
	.sro_content div{
		width: 70%;
		float: left;
		
	}	
		.sro_content div h2{
			font-size: 3vw;
		}
		.sro_content div p{
			font-size: 2vw;
		}

/*----Uslugi----*/
.service_content{
	width: 90%;
	margin: 6vw auto; 
}
	.service_content div{
		overflow: auto;
	}
	.service_content h2{
		font-size: 5vw;
		width: 30%;
		float: left;
		margin-top: 14vw;
		position: relative;
	}
	/*	.service_content h2::before{
			content: "";
			display: block;
			position: absolute;
			top: 100%;
			left: -0.4vw;
			width: 2.9vw;
			height: 2vw;
			background-image: url('img/arrow.png');
			background-size: cover;
			transform: rotate(90deg);
		}*/
	.service_content ol{
		list-style-type: none; 
		counter-reset: num;
		padding: 0;
	}		
	.service_content img{
		display: block;
		float: left;
		width: 70%;
	}
	.service_content ol li{
		font-size: 1.3vw;
		margin: 1vw 0;
		list-style: none;
	}
	.service_content ol li span{
		position: relative;
	}
	.service_content ol li::before {
	   content: '';
	   display: inline-block;
	   height: 1vw;
	   width: 1.45vw;
	   margin: 0.25vw  1vw 0.25vw 0;
	   background-image: url(img/arrow.png);	
	   background-size: cover;		
	   vertical-align: top;	
   }
	
/*----Vacancy----*/
.vacancy_content{
	width: 100%;	
}	
	.vacancy_content .vacancy_list{
		width: 80%;
		margin: auto;	
		overflow: auto;		
	}
		.vacancy_content .vacancy_list a{
			width: 40%;
			height: 8vw;
			margin: 2% 5%;
			padding: 5%;
			float: left;
			box-sizing: border-box;
			border: 3px solid black;
			display: flex;
			align-items: center;
			text-align: center;		
			justify-content: center;
			text-decoration: none;
			color: black;
			font-size: 1.3vw;
			position: relative;
		}
			.vacancy_content .vacancy_list a span{
			position: relative;
			z-index: 3;				
			}
			.vacancy_content .vacancy_list a:hover span{
				color: white;
			}
			.vacancy_content .vacancy_list a::before{
				content:"";
				display: block;
				position: absolute;
				top: 0.5vw;
				left: 0.5vw;
				width: 30%;
				height: 3vw;
				border-top: 3px solid red;
				border-left: 3px solid red;
				transition-duration: 0.5s;
				
			}
			.vacancy_content .vacancy_list a::after{
				content:"";
				display: block;
				position: absolute;
				bottom: 0.5vw;
				right: 0.5vw;
				width: 30%;
				height: 3vw;
				border-bottom: 3px solid red;
				border-right: 3px solid red;
				transition-duration: 0.5s;
				
			}
			.vacancy_content .vacancy_list a:hover::after,
			.vacancy_content .vacancy_list a:hover::before
			{
								width: 96.5%;
				height: 6.75vw;
				background-color: red;
			}
	.vacancy_content .vacancy_contact{
		width: 100%;
		height: 40vw;
		margin: auto;
		background-image: url('img/vacancy_bg_1.jpg');
		background-size: cover;
		margin-bottom: 2vw;
	}
		.vacancy_content .vacancy_contact p{
			position: relative;
			top: 40%;
			padding: 2vw;
			font-size: 2vw;
			line-height: 3vw;
			color: white;
			width: 37%;
			background-color: rgba(0,0,0,0.5);
			box-shadow: 0 0 30px black;
		}
			.vacancy_content .vacancy_contact p a{
				color: white;
			}
.vacancy_desc{
	width: 70%;
	font-family: "GOST_AU";
	position: relative;
	padding: 3vw 8vw !important;
}
	.vacancy_desc::before{
		content:"";
		display: block;
		position: absolute;
		top: 10%;
		left: 7vw;
		width: 3px;
		height: 85%;
		background-color: red;
	}
.vacancy_desc::after{
		content:"";
		display: block;
		position: absolute;
		top: 5%;
		left: 6.5vw;
		width: 3px;
		height: 85%;
		background-color: rgb(44,51,86);
	}
	.vacancy_desc h2{
		margin-bottom: 1vw;
		margin-top: 1vw;
		/* padding-left: 3vw; */
		padding-bottom: 1vw;
		font-size: 2vw;
		color: red;
		position: relative;
	}
	.vacancy_desc h2::before{
		content:"";
		display: block;
		position: absolute;
		bottom: 0;
		left: -10%;
		width: 115%;
		height: 3px;
		background-color: red;
	}
	.vacancy_desc h2::after{
		content:"";
		display: block;
		position: absolute;
		bottom: 0.5vw;
		left: -5%;
		width: 115%;
		height: 3px;
		background-color: rgb(44,51,86);
	}	
	.vacancy_desc p{
		font-size: 1.3vw;
		margin-bottom: 0;
	}

	.vacancy_desc ul li{
		list-style: none;
		font-size: 1.3vw;
		line-height: 1.9vw;
	}
	.vacancy_desc ul li::before{
	   content: '';
	   display: inline-block;
	   height: 1vw;
	   width: 1.4vw;
	   margin: 0.25vw  1vw 0.25vw 0;
	   background-image: url(img/arrow.png);	
	   background-size: cover;		
	   vertical-align: top;				   
	}	
	
/*----contact----*/
.contact_content{
	width: 100%;
	padding-bottom: 3vw;
}
	.contact_content .conpact_info{
		width: 80%;
		height: 20vw;
		margin: auto;
	}
		.contact_content .conpact_info .data{
			width: 30%;
			height: 100%;
			float: left;
			margin-right: 10%;
			/* background-color: red; */
		}
			.contact_content .conpact_info .data h2{
				font-family: "GOST_AU";
				margin: 0;
				padding-top: 2vw;
				font-weight: normal;
				font-size: 1.8vw;
				color: gray;				
			}
			.contact_content .conpact_info .data p{
				font-family: "GOST_AU";
				margin: 0;
				font-size: 1.5vw;				
			}			
		.contact_content .conpact_info .map{
			width: 60%;
			height: 100%;
			float: left;
		}	
	.contact_content .company_structure{
		width: 80%;
		margin: auto;
		margin-top: 5%;
	}	
		.company_structure h1{
			float: right;
			font-size: 4vw;
			margin: 0;
			margin-bottom: 3%;
		}
		.company_structure .person_list{
			float: left;
			width: 100%;
		}
		.company_structure .person_list .person_data{
			width: 17.5%;
			float: left;
			/* margin: 0 4%;  */
			margin-bottom: 5%;
			margin-right:10%
		}
			.company_structure .person_data img{
				display: block;
				box-sizing: border-box;
				width: 100%;
				height: auto;
				padding: 0.2vw;
				border: 1px solid red;
			}
			.company_structure .person_data h2{
				margin: 0;
				margin-top: 0.5vw;
				font-size: 1.5vw;
			}
			.company_structure .person_data p{
				margin: 0;
				font-size: 1.15vw;
			}						
	.contact_content .feedback_form{
		width: 100%;
		margin-top: 3vw;
		overflow: auto;
	}
		.contact_content .feedback_form img{
			display: block;
			width: 60%;
			float: left;
		}
				.contact_form{
			width: 25%;
			float: left;
			margin-left: 5%;
		}
.contact_form h3{
			color: black;
			font-size: 2vw;
			line-height: 100%;
			margin: 0;
		}
		.contact_form label{
			width: 100%;
			line-height: 100%;
			display: block;
			color: gray;
			font-size: 1.8vw;
			margin-top: 1.2vw;
		}
		.contact_form .form-control{
			width: 100%;
			display: block;
			box-sizing: border-box;
			line-height: 150%;
			font-size: 1vw;
			outline: none;
			border: none;
			background-color: transparent !important;
			color: black;
			border-bottom: 1px solid black;		
			margin-top: 0.3vw;		
		}
		.contact_form textarea{
			width: 100%;
			height: 10vw;
			background-color: white;
			resize: none;
			font-size: 1vw;
			display: block;
			color: black;
			outline: none;
			border: 1px solid black;			
		}
		
		 input:valid {
			background: #dfd; /* Зеленый цвет фона */
		}
		input:invalid {
			background: #fdd; /* Красный цвет фона */
		}
		.politik{
			margin-top: 1.2vw;
			overflow: auto;
			height: 3vw;
		}
		.politik input{
			width: 1.5vw;
			height: 1.5vw;
			background-color: white;
			border-radius: 50%;
			display: none;
		}
		.politik label{
			float: right;
			width: auto;
			width: 85%;
			margin-top: 0;
			font-size: 1vw;
		}
		.politik input[type="checkbox"]+label:before{
			content: ""; 
			position: absolute; 
			width: 0.8vw; 
			height: 0.8vw; 
			border-radius: 0.2vw; 
			background: white; 
			border: 1px solid black;
			margin: 0 0 0 -2vw;
			padding: 0.2vw;
		}
		.politik input[type="checkbox"]:checked+label:before {
			background: #fff;
			font-family: 'FontAwesome';
			content: "\f00c";
			color: black;	
			width: 0.8vw; 
			height: 0.8vw; 
			line-height: 0.8vw;	
			font-size: 0.8vw;
		}		
		.contact_form .btn_send{
			position: relative;
			top: auto;
			cursor: pointer;
			display: block;
			margin: auto;
			margin-top: 1.5vw;
			background-color: rgba(0,0,0,0.5);
			outline: none;
			font-size: 1.2vw;
			border-radius: 0.2vw;
			border: 0px solid black;
			padding: 0.5vw 1vw;
			color: white;
		}
		.contact_form .btn_send:active{
			top: 2px;
		}		
		
	
/*--- fonts ---*/	
@font-face{
	font-family: "GOST_AU";
	src: url("fonts/GOST_AU.ttf") format("truetype");
	font-style: normal;
	font-weight: normal;
}	